package pe.edu.upc.controlinsumos.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import pe.edu.upc.controlinsumos.model.Producto;
import org.apache.log4j.Logger;

/**
 *
 * @author SMATAYOSHI
 */
public class ProductoDaoImp {
    private Logger logger = Logger.getLogger(ProductoDaoImp.class);
    List<Producto> productos ;

    public ProductoDaoImp() {
        logger.debug("Inicio Productos Dao");
    }

    public List<Producto> getCategoria() {
        String sql = null;
        Connection connection = null;
        Statement st = null;
        productos = new ArrayList<Producto>();
        Producto producto = null;
        ResultSet rs = null;

        try {
            connection = ConnectionUtils.getConnection();
            st = connection.createStatement();

            sql = "select distinct categoria from app.producto";

            rs = st.executeQuery(sql);

            while (rs.next()) {
                producto = new Producto();
                producto.setCategoria(rs.getString("categoria"));
                productos.add(producto);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            ConnectionUtils.closeResultSet(rs);
            ConnectionUtils.closeStatement(st);
            ConnectionUtils.closeConnection(connection);
        }
        return productos;

    }
    public List<Producto> getProductosPorTipo(String tipo) {
        String sql = null;
        Connection connection = null;
        Statement st = null;
        productos = new ArrayList<Producto>();
        Producto producto = null;
        ResultSet rs = null;

        try {
            
            connection = ConnectionUtils.getConnection();
            st = connection.createStatement();
            if(tipo != null)
                sql = "select * from producto where categoria='" + tipo + "'";
            else
                sql = "select * from producto";
            
            rs = st.executeQuery(sql);
            
            while (rs.next()) {
                producto = new Producto();
                producto.setCodProducto(rs.getInt("codproducto"));
                producto.setNomProducto(rs.getString("nomproducto"));
                producto.setCategoria(rs.getString("categoria"));
                productos.add(producto);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            ConnectionUtils.closeResultSet(rs);
            ConnectionUtils.closeStatement(st);
            ConnectionUtils.closeConnection(connection);
        }
        return productos;
    }
}
